<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link type="text/css" rel="stylesheet" href="../../resource/css/reset.css"/>
        <link type="text/css" rel="stylesheet" href="../../resource/css/api_index.css"/>
        <script type="text/javascript" src="../../resource/js/fw/jquery-1.8.3.min.js"></script>
    </head>
    <body>
        <div class="pk-wrap">

            <div class="pk-unit-wrap">
                <div class="pk-unit">
                    <h1 class="clearfix">
                        <span class="pk-color-title">Object.toString()</span>
                        <span class="pk-float-right pk-tip">Core > Object > toString()</span>
                    </h1>
                </div>
                <div class="pk-unit">
                    <div class="pk-unit-with-style">
                        <div class="pk-unit-tag">Description</div>
                        <pre>    定义一个对象的字符串表示形式。

    在JavaScript程序中一般不会经常显式地调用toString()方法。一般情况下，在对象中定义这个方法，系统会在需要时自动调用它以便将该对象转为字符串。
    当对象在一个字符串上下文中使用时，JavaScript系统会调用相应的toString()方法来将该对象转为字符串。例如，把一个对象传人期望参数为字符串的函数时，这个对象会转为字符串。

        alert(my_object);

    类似地，当使用“+”操作符将对象与字符串连接时，对象也会转化为字符串。

        var msg = &quot;My object is:&quot; + my_object;

    调用toString()方法时没有参数，返回值应该是一个字符串。为了便于使用，返回的字符串应当以某种形式与调用这个方法的对象的值相关。
    在JavaScript中定义自定义类时，为这个类定义一个toString()方法是一个不错的实践。如果没有定义这个方法，则对象会从Object类继承默认的toString()方法。默认方法返回的字符串格式形如：

        [objectclass]

    其中class是该对象的类：值为“Object”、“String”、“Number”、“Function”、“Window”、“Document”等。有时候可以用默认的toString()方法的这个行为来判断未知对象的类型或类。不过，由于大多数对象都有自定义版本的toString()，因此一般需要在对象上显式地调用Object.toString()方法，类似这样：

        Object.prototype.toString.apply(o);

    注意，这个判断未知对象的技术只适用于内置对象。自定义的对象类有一个“Object”类，在这种情况下，可以使用Object．constructor属性来获得关于这个对象的更多信息。
    在调试JavaScript程序时，toString()方法可能会非常有用，可以用它输出对象并查看它们的值。因此，为所创建的每个对象定义一个toString()方法是个不错的主意。
    虽然toString()方法通常由系统自动调用，但有时也需要手动调用它们。比如，有时需要将某个对象显式转化为字符串，但JavaScript没有自动做这个转换时：

        y = Math.sqrt(x); // Compute a number
        ystr = y.toString(); // Convert it to a string

    注意，在这个例子中，数字有一个可用于强制转换的内置toString()方法。
    其他情况下，即使在JavaScript会自动转换的上下文中，也可以选择使用toString()。显式地使用toString0有助于使代码更加清晰：

        alert(my_obj.toString());</pre>
                    </div>
                </div>
            </div>

            
                        <div class="pk-unit-wrap">
                <div class="pk-unit">
                    <h1 class="clearfix">
                        <span class="pk-color-title pk-italic">返回值</span>
                    </h1>
                </div>
                <div class="pk-unit">
                    <div class="pk-unit-with-style">
                        <div class="pk-unit-tag">Description</div>
                        <pre>一个表示该对象的字符串。</pre>
                    </div>
                </div>
            </div>
            
            
            
                    </div>
    </body>
</html>
